portal Michała Hanćkowiaka
Begin main content
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winsock2.h>

int main(int argc, char **argv)
{
    WORD RequiredVersion;
    WSADATA WData;
    SOCKET s;
    struct sockaddr_in addr;
    long val;
    struct hostent *he;

    if (argc<4) {
        printf("podaj nazwe hosta, port i liczbe jako parametry\n");
        return 1;
    }

    RequiredVersion = MAKEWORD(2, 0);

    if (WSAStartup(RequiredVersion, &WData) != 0) {
        printf("Blad inicjalizacji WinSock2\n");
        return 1;
    }

    he = gethostbyname(argv[1]);

    addr.sin_family = AF_INET;
    addr.sin_port = htons(atoi(argv[2]));
    addr.sin_addr.s_addr = *((unsigned long*) he->h_addr);

    s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    connect(s, (struct sockaddr*) &addr, sizeof(addr));
    val = atoi(argv[3]);
    printf("Wysylam %d do %s\n",val,inet_ntoa(addr.sin_addr));
    val = htonl(val);
    send(s, (char*) &val, sizeof(long), 0);
    printf("Czekam na odpowiedz...\n");
    recv(s, (char*) &val, sizeof(long), 0);
    val = ntohl(val);
    printf("Odpowiedz: %d\n", val);
    closesocket(s);

    WSACleanup();
    return 0;
}

uwaga: portal używa ciasteczek tylko do obsługi tzw. sesji...